<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: RTC          (Real-Time Clock)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__rtc.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">API Reference</a>  </div>
  <div class="headertitle">
<div class="title">RTC (Real-Time Clock)</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>The Real-Time Clock (RTC) driver provides an application interface for keeping track of time and date. </p>
<p>The functions and other declarations used in this driver are in cy_rtc.h. You can include cy_pdl.h to get access to all functions and declarations in the PDL.</p>
<p>Use the RTC driver when the system requires the current time or date. You can also use the RTC when you do not need the current time and date but you do need accurate timing of events with one-second resolution.</p>
<p>The RTC driver provides these features:</p><ul>
<li>Different hour format support.</li>
<li>Multiple alarm function (two-alarms).</li>
<li>Daylight Savings Time (DST) support.</li>
<li>Automatic leap year compensation.</li>
<li>Option to drive the RTC by an external 50 Hz or 60 Hz clock source</li>
</ul>
<p>The RTC driver provides access to the HW real-time clock. The HW RTC is located in the Backup domain. You need to choose the clock source for the Backup domain using the <a class="el" href="group__group__sysclk__clk__bak__funcs.html#gab72e0702bafe7df920708eacefdb40dd" title="Sets the source for the backup domain clock (clk_bak). ">Cy_SysClk_ClkBakSetSource()</a> function. If the clock for the Backup domain is set and enabled, the RTC automatically starts counting.</p>
<p>The RTC driver keeps track of second, minute, hour, day of the week, day of the month, month, and year.</p>
<p>DST may be enabled and supports any start and end date. The start and end dates can be a fixed date (like 24 March) or a relative date (like the second Sunday in March).</p>
<p>The RTC has two alarms that you can configure to generate an interrupt. You specify the match value for the time when you want the alarm to occur. Your interrupt handler then handles the response. The alarm flexibility supports periodic alarms (such as every minute), or a single alarm (13:45 on 28 September, 2043).</p>
<p><b> Clock Source </b></p>
<p>The Backup domain can be driven by:</p><ul>
<li>Watch-crystal oscillator (WCO). This is a high-accuracy oscillator that is suitable for RTC applications and requires a 32.768 kHz external crystal populated on the application board. The WCO can be supplied by Backup domain and therefore can run without Vddd/Vccd present. This can be used to wake the chip from Hibernate mode.</li>
<li>The Internal Low-speed Oscillator (ILO) routed from Clk_LF or directly (as alternate backup domain clock source). Depending on the device power mode the alternate backup domain clock source is set. For example, for Deep Sleep mode the ILO is routed through Clk_LF. But for Hibernate power mode the ILO is set directly. Note that, the ILO should be configured to work in the Hibernate mode. For more info refer to the <a class="el" href="group__group__sysclk.html">SysClk (System Clock)</a> driver. The ILO is a low-accuracy RC-oscillator that does not require any external elements on the board. Its poor accuracy (+/- 30%) means it is less useful for the RTC. However, current can be supplied by an internal power supply (Vback) and therefore it can run without Vddd/Vccd present. This also can be used to wake the chip from Hibernate mode using RTC alarm interrupt. For more details refer to <a class="el" href="group__group__syspm.html">SysPm (System Power Management)</a> driver description.</li>
<li>The Precision Internal Low-speed Oscillator (PILO), routed from Clk_LF (alternate backup domain clock source). This is an RC-oscillator (ILO) that can achieve accuracy of +/- 2% with periodic calibration. It is not expected to be accurate enough for good RTC capability. The PILO requires Vddd/Vccd present. It can be used in modes down to Deep Sleep, but ceases to function in Hibernate mode.</li>
<li>External 50 Hz or 60 Hz sine-wave clock source or 32.768 kHz square clock source. For example, the wall AC frequency can be the clock source. Such a clock source can be used if the external 32.768 kHz WCO is absent from the board. For more details, refer to the <a class="el" href="group__group__rtc__general__functions.html#gafd6640533419a469e0803709c2a00aa3" title="Selects the RTC pre-scaler value and changes its clock frequency. ">Cy_RTC_SelectFrequencyPrescaler()</a> function description.</li>
</ul>
<p>The WCO is the recommended clock source for the RTC, if it is present in design. For setting the Backup domain clock source, refer to the <a class="el" href="group__group__sysclk.html">SysClk (System Clock)</a> driver.</p>
<dl class="section note"><dt>Note</dt><dd>If the WCO is enabled, it should source the Backup domain directly. Do not route the WCO through the Clk_LF. This is because Clk_LF is not available in all low-power modes.</dd></dl>
<h1><a class="anchor" id="group_rtc_section_configuration"></a>
Configuration Considerations</h1>
<p>Before RTC set up, ensure that the Backup domain is clocked with the desired clock source.</p>
<p>To set up an RTC, provide the configuration parameters in the <a class="el" href="structcy__stc__rtc__config__t.html" title="This is the data structure that is used to configure the rtc time and date values. ">cy_stc_rtc_config_t</a> structure. Then call <a class="el" href="group__group__rtc__general__functions.html#ga4c6aca12f876f94707818e7a5dcdbf82" title="Initializes the RTC driver. ">Cy_RTC_Init()</a>. You can also set the date and time at runtime. Call <a class="el" href="group__group__rtc__general__functions.html#ga47268d3ac315e0d41b4795362bc444a8" title="Sets the time and date values into the RTC_TIME and RTC_DATE registers. ">Cy_RTC_SetDateAndTime()</a> using the filled <a class="el" href="structcy__stc__rtc__config__t.html" title="This is the data structure that is used to configure the rtc time and date values. ">cy_stc_rtc_config_t</a> structure, or call <a class="el" href="group__group__rtc__general__functions.html#ga2f2ba9ba2a8e6434242134a1c1a55949" title="Sets the time and date values into the RTC_TIME and RTC_DATE registers using direct time parameters...">Cy_RTC_SetDateAndTimeDirect()</a> with valid time and date values.</p>
<p><b> RTC Interrupt Handling </b></p>
<p>The RTC driver provides three interrupt handler functions: <a class="el" href="group__group__rtc__interrupt__functions.html#ga5c2c4659f4165a5ed5fa2b0cafd2c06c" title="A blank weak interrupt handler function which indicates assert of the RTC alarm 1 interrupt...">Cy_RTC_Alarm1Interrupt()</a>, <a class="el" href="group__group__rtc__interrupt__functions.html#ga7aa58fabe8faf1b1b21dbe8bdcd1e919" title="A blank weak interrupt handler function which indicates assert of the RTC alarm 2 interrupt...">Cy_RTC_Alarm2Interrupt()</a>, and <a class="el" href="group__group__rtc__interrupt__functions.html#gadac651af6dcd8ad0affb2243af2c005c" title="This is a weak function and it should be redefined in user source code in condition that such event h...">Cy_RTC_CenturyInterrupt()</a>. All three functions are blank functions with the WEAK attribute. For any interrupt you use, redefine the interrupt handler in your source code.</p>
<p>When an interrupt occurs, call the <a class="el" href="group__group__rtc__interrupt__functions.html#ga47cd2af8969302fd8fc5a7e661eba819" title="The interrupt handler function which should be called in user provided RTC interrupt function...">Cy_RTC_Interrupt()</a> function. The RTC hardware provides a single interrupt line to the NVIC for the three RTC interrupts. This function checks the interrupt register to determine which interrupt (out of the three) was generated. It then calls the appropriate handler.</p>
<dl class="section warning"><dt>Warning</dt><dd>The <a class="el" href="group__group__rtc__interrupt__functions.html#ga7aa58fabe8faf1b1b21dbe8bdcd1e919" title="A blank weak interrupt handler function which indicates assert of the RTC alarm 2 interrupt...">Cy_RTC_Alarm2Interrupt()</a> is not called if the DST feature is enabled. If DST is enabled, the <a class="el" href="group__group__rtc__interrupt__functions.html#ga47cd2af8969302fd8fc5a7e661eba819" title="The interrupt handler function which should be called in user provided RTC interrupt function...">Cy_RTC_Interrupt()</a> function redirects that interrupt to manage daylight savings time using <a class="el" href="group__group__rtc__interrupt__functions.html#gab9511169906c3a9f1130fdcd826a15e7" title="This is a processing handler against the DST event. ">Cy_RTC_DstInterrupt()</a>. In general, the RTC interrupt handler function the <a class="el" href="group__group__rtc__interrupt__functions.html#gab9511169906c3a9f1130fdcd826a15e7" title="This is a processing handler against the DST event. ">Cy_RTC_DstInterrupt()</a> function is called instead of <a class="el" href="group__group__rtc__interrupt__functions.html#ga7aa58fabe8faf1b1b21dbe8bdcd1e919" title="A blank weak interrupt handler function which indicates assert of the RTC alarm 2 interrupt...">Cy_RTC_Alarm2Interrupt()</a>.</dd></dl>
<p>For RTC interrupt handling, the user should:</p><ol type="1">
<li>Implement strong interrupt handling function(s) for the required events (see above). If DST is enabled, then Alarm2 is not available. The DST handler is built into the PDL.</li>
<li>Implement an RTC interrupt handler and call <a class="el" href="group__group__rtc__interrupt__functions.html#ga47cd2af8969302fd8fc5a7e661eba819" title="The interrupt handler function which should be called in user provided RTC interrupt function...">Cy_RTC_Interrupt()</a> from there.</li>
<li>Configure the RTC interrupt:<ul>
<li>Set the mask for RTC required interrupt using <a class="el" href="group__group__rtc__interrupt__functions.html#gaf2ab28f85a042dc1c68b35e0c809eade" title="Configures which bits of the interrupt request register that triggers an interrupt event...">Cy_RTC_SetInterruptMask()</a>.</li>
<li>Initialize the RTC interrupt by setting priority and the RTC interrupt vector using the <a class="el" href="group__group__sysint__functions.html#gab2ff6820a898e9af3f780000054eea5d" title="Initializes the referenced interrupt by setting the priority and the interrupt vector. ">Cy_SysInt_Init()</a> function.</li>
<li>Enable the RTC interrupt using the CMSIS core function NVIC_EnableIRQ().</li>
</ul>
</li>
</ol>
<p><b> Alarm functionality </b></p>
<p>To set up an alarm, enable the required RTC interrupt. Then provide the configuration parameters in the <a class="el" href="structcy__stc__rtc__alarm__t.html" title="Decimal data structure that is used to save the Alarms. ">cy_stc_rtc_alarm_t</a> structure. You enable any item you want matched, and provide a match value. You disable any other. You do not need to set match values for disabled elements, as they are ignored. </p><dl class="section note"><dt>Note</dt><dd>The alarm itself must be enabled in this structure. When a match occurs, the alarm is triggered and your interrupt handler is called.</dd></dl>
<p>An example is the best way to explain how this works. If you want an alarm on every hour, then in the <a class="el" href="structcy__stc__rtc__alarm__t.html" title="Decimal data structure that is used to save the Alarms. ">cy_stc_rtc_alarm_t</a> structure, you provide these values:</p>
<p>Alarm_1.sec = 0u <br />
Alarm_1.secEn = CY_RTC_ALARM_ENABLE <br />
Alarm_1.min = 0u <br />
Alarm_1.minEn = CY_RTC_ALARM_ENABLE <br />
Alarm_1.hourEn = CY_RTC_ALARM_DISABLE <br />
Alarm_1.dayOfWeekEn = CY_RTC_ALARM_DISABLE <br />
Alarm_1.dateEn = CY_RTC_ALARM_DISABLE <br />
Alarm_1.monthEn = CY_RTC_ALARM_DISABLE <br />
Alarm_1.almEn = CY_RTC_ALARM_ENABLE <br />
 With this setup, every time both the second and minute are zero, Alarm1 is asserted. That happens once per hour. Note that, counterintuitively, to have an alarm every hour, Alarm_1.hourEn is disabled. This is disabled because for an hourly alarm you do not match the value of the hour.</p>
<p>After <a class="el" href="structcy__stc__rtc__alarm__t.html" title="Decimal data structure that is used to save the Alarms. ">cy_stc_rtc_alarm_t</a> structure is filled, call the <a class="el" href="group__group__rtc__alarm__functions.html#ga92807dc709c679c70c07d44cf0331a94" title="Sets alarm time and date values into the ALMx_TIME and ALMx_DATE registers. ">Cy_RTC_SetAlarmDateAndTime()</a>. The alarm can also be set without using the <a class="el" href="structcy__stc__rtc__alarm__t.html" title="Decimal data structure that is used to save the Alarms. ">cy_stc_rtc_alarm_t</a> structure. Call <a class="el" href="group__group__rtc__alarm__functions.html#ga67d28741bf5b0bee6be7b2e4ce45ef77" title="Sets alarm time and date values into the ALMx_TIME and ALMx_DATE registers using direct time paramete...">Cy_RTC_SetAlarmDateAndTimeDirect()</a> with valid values.</p>
<p><b> The DST Feature </b></p>
<p>The DST feature is managed by the PDL using the RTC Alarm2 interrupt. Therefore, you cannot have both DST enabled and use the Alarm2 interrupt.</p>
<p>To set up the DST, route the RTC interrupt to NVIC:</p>
<ol type="1">
<li>Initialize the RTC interrupt by setting priority and the RTC interrupt vector using <a class="el" href="group__group__sysint__functions.html#gab2ff6820a898e9af3f780000054eea5d" title="Initializes the referenced interrupt by setting the priority and the interrupt vector. ">Cy_SysInt_Init()</a>.</li>
<li>Enable the RTC interrupt using the CMSIS core function NVIC_EnableIRQ().</li>
</ol>
<p>After this, provide the configuration parameters in the <a class="el" href="structcy__stc__rtc__dst__t.html" title="This is the DST structure to handle start DST and stop DST. ">cy_stc_rtc_dst_t</a> structure. This structure consists of two <a class="el" href="structcy__stc__rtc__dst__format__t.html" title="This is DST structure for DST feature setting. ">cy_stc_rtc_dst_format_t</a> structures, one for DST Start time and one for DST Stop time. You also specify whether these times are absolute or relative.</p>
<p>After the <a class="el" href="structcy__stc__rtc__dst__t.html" title="This is the DST structure to handle start DST and stop DST. ">cy_stc_rtc_dst_t</a> structure is filled, call <a class="el" href="group__group__rtc__dst__functions.html#gafaa2c3a4ba08f8fa5050b42527680995" title="The function sets the DST time, configures the DST start time when the specified time is outside DST ...">Cy_RTC_EnableDstTime()</a></p>
<h1><a class="anchor" id="group_rtc_lp"></a>
Low Power Support</h1>
<p>The RTC provides the callback functions to facilitate the low-power mode transition. The callback <a class="el" href="group__group__rtc__low__power__functions.html#gad087256d8c52f946f370490c1badbaaa">Cy_RTC_DeepSleepCallback</a> must be called during execution of <a class="el" href="group__group__syspm__functions__power.html#ga5150c28fe4d2626720c1fbf74b3111ca">Cy_SysPm_CpuEnterDeepSleep</a>, <a class="el" href="group__group__rtc__low__power__functions.html#ga94baa8c1e43e897cf39d59700b84dd6b">Cy_RTC_HibernateCallback</a> must be called during execution of <a class="el" href="group__group__syspm__functions__power.html#gae97647a28c370674ba57d451d21d1c51">Cy_SysPm_SystemEnterHibernate</a>. To trigger the callback execution, the callback must be registered before calling the mode transition function. Refer to <a class="el" href="group__group__syspm.html">SysPm (System Power Management)</a> driver for more information about low-power mode transitions.</p>
<h1><a class="anchor" id="group_rtc_section_more_information"></a>
More Information</h1>
<p>For more information on the RTC peripheral, refer to the technical reference manual (TRM).</p>
<h1><a class="anchor" id="group_rtc_changelog"></a>
Changelog</h1>
<table class="doxtable">
<tr>
<th>Version</th><th>Changes</th><th>Reason for Change </th></tr>
<tr>
<td>2.100 </td><td>Minor update in API <a class="el" href="group__group__rtc__interrupt__functions.html#ga6e4de226161848076faa5cf9c82e950b">Cy_RTC_GetInterruptStatus</a>. </td><td>Code enhancement.  </td></tr>
<tr>
<td>2.90 </td><td>Updated API <a class="el" href="group__group__rtc__interrupt__functions.html#ga6e4de226161848076faa5cf9c82e950b">Cy_RTC_GetInterruptStatus</a>. </td><td>Code enhancement.  </td></tr>
<tr>
<td>2.80 </td><td>Added support for TRAVEO&trade; II Body Entry devices.<br />
 Pre-processor check for MXS40SRSS version now groups ver. 2 with ver. 3. Previously ver. 2 was grouped with ver. 1. Cleaned up redundant and overlapping conditions in pre-processor directives. </td><td>Code enhancement and support for new devices.  </td></tr>
<tr>
<td>2.70 </td><td>Enhanced API's : <a class="el" href="group__group__rtc__general__functions.html#ga47268d3ac315e0d41b4795362bc444a8" title="Sets the time and date values into the RTC_TIME and RTC_DATE registers. ">Cy_RTC_SetDateAndTime()</a>, <a class="el" href="group__group__rtc__general__functions.html#ga2f2ba9ba2a8e6434242134a1c1a55949" title="Sets the time and date values into the RTC_TIME and RTC_DATE registers using direct time parameters...">Cy_RTC_SetDateAndTimeDirect()</a>, <a class="el" href="group__group__rtc__alarm__functions.html#ga92807dc709c679c70c07d44cf0331a94" title="Sets alarm time and date values into the ALMx_TIME and ALMx_DATE registers. ">Cy_RTC_SetAlarmDateAndTime()</a>, <a class="el" href="group__group__rtc__alarm__functions.html#ga67d28741bf5b0bee6be7b2e4ce45ef77" title="Sets alarm time and date values into the ALMx_TIME and ALMx_DATE registers using direct time paramete...">Cy_RTC_SetAlarmDateAndTimeDirect()</a>. </td><td>Minor Enhancements to the Driver.  </td></tr>
<tr>
<td>2.60 </td><td>CAT1B, CAT1C, CAT1D devices support.<br />
Newly added API's <a class="el" href="group__group__rtc__low__level__functions.html#ga8db7f22180c44fafceb083e2dcbf9555" title="Set/Clear writeable option for RTC user registers. ">Cy_RTC_WriteEnable()</a> to Set/Clear writeable option for RTC user registers, <a class="el" href="group__group__rtc__dst__functions.html#gafaa2c3a4ba08f8fa5050b42527680995" title="The function sets the DST time, configures the DST start time when the specified time is outside DST ...">Cy_RTC_EnableDstTime()</a> to set the DST time and configure the ALARM2 interrupt register with the appropriate DST time, <a class="el" href="group__group__rtc__interrupt__functions.html#gab9511169906c3a9f1130fdcd826a15e7" title="This is a processing handler against the DST event. ">Cy_RTC_DstInterrupt()</a> to handle the DST event. <br />
Added a delay in <a class="el" href="group__group__rtc__low__level__functions.html#gaf4ac08fe9e8eabc52d9f022cd3103e60" title="The Synchronizer updates RTC values into AHB RTC user registers from the actual RTC. ">Cy_RTC_SyncFromRtc()</a> to check the RTC busy status. </td><td>Support for new devices.  </td></tr>
<tr>
<td>2.50 </td><td>Removed the calls that convert among BCD and Binary. </td><td>RTC encoding changed from BCD to Binary.  </td></tr>
<tr>
<td>2.40 </td><td>Fixed/Documented MISRA 2012 violations. </td><td>MISRA 2012 compliance.  </td></tr>
<tr>
<td>2.30.1 </td><td>Minor documentation updates. </td><td>Documentation enhancement.  </td></tr>
<tr>
<td>2.30 </td><td><ul>
<li>Corrected the <a class="el" href="group__group__rtc__dst__functions.html#gae2d29ebc8c658ccfefcc2389d26d6bec" title="A low-level DST function returns the current DST status using given time information. ">Cy_RTC_GetDstStatus()</a> and <a class="el" href="group__group__rtc__dst__functions.html#ga37374ecb34a430c3735ef9ba585681b1" title="A low-level DST function sets ALARM2 for a next DST event. ">Cy_RTC_SetNextDstTime()</a> documentation.</li>
<li>Fixed the <a class="el" href="group__group__rtc__dst__functions.html#gae2d29ebc8c658ccfefcc2389d26d6bec" title="A low-level DST function returns the current DST status using given time information. ">Cy_RTC_GetDstStatus()</a> behaviour in the 'an hour before/after the DST stop event' period.  </li>
</ul>
</td><td><ul>
<li>Collateral Review: user experience enhancement.</li>
<li>Bug fix.   </li>
</ul>
</td></tr>
<tr>
<td>2.20.1 </td><td>Modified header guard CY_IP_MXS40SRSS_RTC. </td><td>To enable the PDL compilation with wounded out IP blocks.  </td></tr>
<tr>
<td rowspan="3">2.20 </td><td>Flattened the organization of the driver source code into the single source directory and the single include directory.  </td><td>Driver library directory-structure simplification.  </td></tr>
<tr>
<td>Added register access layer. Use register access macros instead of direct register access using dereferenced pointers. </td><td>Makes register access device-independent, so that the PDL does not need to be recompiled for each supported part number.  </td></tr>
<tr>
<td>Documentation update. </td><td>Documentation enhancement.  </td></tr>
<tr>
<td>2.10 </td><td><ul>
<li>Corrected <a class="el" href="group__group__rtc__general__functions.html#ga2f2ba9ba2a8e6434242134a1c1a55949" title="Sets the time and date values into the RTC_TIME and RTC_DATE registers using direct time parameters...">Cy_RTC_SetDateAndTimeDirect()</a>, <a class="el" href="group__group__rtc__dst__functions.html#ga37374ecb34a430c3735ef9ba585681b1" title="A low-level DST function sets ALARM2 for a next DST event. ">Cy_RTC_SetNextDstTime()</a> function.</li>
<li>Corrected internal macro.</li>
<li>Documentation updates.  </li>
</ul>
</td><td><ul>
<li>Incorrect behavior of <a class="el" href="group__group__rtc__general__functions.html#ga2f2ba9ba2a8e6434242134a1c1a55949">Cy_RTC_SetDateAndTimeDirect()</a> and <a class="el" href="group__group__rtc__dst__functions.html#ga37374ecb34a430c3735ef9ba585681b1">Cy_RTC_SetNextDstTime()</a> work in debug mode.</li>
<li>Debug assert correction in <a class="el" href="group__group__rtc__low__level__functions.html#gaefa2dfda62dd0bd93a020a5f3f109f55">Cy_RTC_ConvertDayOfWeek</a>, <a class="el" href="group__group__rtc__low__level__functions.html#ga7d79a94b5b584d933b012f11d34ac29e">Cy_RTC_IsLeapYear</a>, <a class="el" href="group__group__rtc__low__level__functions.html#gaca23246d1ae0e7e6442215ef3d8ca068">Cy_RTC_DaysInMonth</a>.   </li>
</ul>
</td></tr>
<tr>
<td>2.0 </td><td>Enhancement and defect fixes:<ul>
<li>Added input parameter(s) validation to all public functions.</li>
<li>Removed "Cy_RTC_" prefixes from the internal functions names.</li>
<li>Renamed the elements in the cy_stc_rtc_alarm structure.</li>
<li>Changed the type of elements with limited set of values, from uint32_t to enumeration.  </li>
</ul>
</td><td></td></tr>
<tr>
<td>1.0 </td><td>Initial version </td><td></td></tr>
</table>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
API Reference</h2></td></tr>
<tr class="memitem:group__group__rtc__macros"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__rtc__macros.html">Macros</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__rtc__functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__rtc__functions.html">Functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__rtc__data__structures"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__rtc__data__structures.html">Data Structures</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__rtc__enums"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__rtc__enums.html">Enumerated Types</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
